package com.jielin.handling.mapper.auditrecorder;

import com.jielin.handling.entity.auditrecorder.AuditRecoder;
import com.jielin.handling.entity.auditresult.AuditResult;
import com.jielin.handling.entity.vo.CaseAndSuspectVo;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

public interface AuditRecoderMapper {
    int deleteByPrimaryKey(String id);

    int insert(AuditRecoder record);

    int insertSelective(AuditRecoder record);

    AuditRecoder selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(AuditRecoder record);

    int updateByPrimaryKey(AuditRecoder record);

    List<AuditRecoder> selectInAndOutAuditById(String id);//根据案件查询卷宗出入库列表查看详情

    int entryLibrary(HashMap<String,String> map);//卷宗入库

    void updateByIdValue(String idValue);//通过身份证号修改是否为最新的记录

    int borrowDossier(HashMap<String,String> map);//卷宗借閱

    String selectRecoderId(String caseCode);//查询记录表中为借阅状态的那条记录的id

    int   returnDossier(HashMap<String,String> map);//借閱歸還

    int transferDossier(HashMap<String,String> map);//卷宗移交

    List<AuditRecoder> transferList(AuditRecoder auditRecoder);//移交列表

    int insertAudit(AuditResult auditResult);//卷宗新增

    List<AuditRecoder> selectInAndOut(AuditRecoder auditRecoder);//卷宗出入库------卷宗出入库详情列表

    void updateCabinetState(@Param("drawerCode") String drawerCode,@Param("id") String id);//通过单位编号和柜号增加该柜子中卷宗的数目

    void deleteState(@Param("drawerCode") String drawerCode,@Param("id") String id);//通过单位编号和柜号减少该柜子中卷宗的数目

    String selectUnitCode(String caseCode);//根据案件编号查询单位id

    void updateState(@Param("idValue") String idValue,@Param("caseCode") String caseCode);//以人为单位的卷宗入库时以卷宗为单位的卷宗状态的改变

    void  updateOutState(@Param("idValue") String idValue,@Param("caseCode") String caseCode);//卷宗借阅或移交改变为不在库的状态






}